#ifndef EVENTHANDLER_H
#define EVENTHANDLER_H

#include <SDL.h>
#include <D3DX11.h>

struct KeyboardEvent
{
	int type;
	bool down;
};


class EventHandler
{
public:
	virtual ~EventHandler() = 0 {}

	void HandleEvent(const MSG& event);

	virtual void OnKeyDownEvent(const WPARAM&){}
	virtual void OnKeyUpEvent(const WPARAM&){}
	virtual void OnMouseMotionEvent(const LPARAM&){}
	virtual void OnMouseButtonDownEvent(const MSG&){}
	virtual void OnMouseButtonUpEvent(const MSG&){}
	virtual void OnMouseWheelEvent(const WPARAM&){}
	virtual void OnJoystickEvent(const LPARAM&){}
private:

};

#endif //EVENTHANDLER_H